For fast and efficient transmission and storage of visual pixel data, compression algorithms are applied to exploit their spatial and probabilistic redundancies. Bit rate reduction may be accomplished by mostly reversible data transforms for signal energy reduction and subsequent entropy coding. In predictive methods, the transform includes a subtraction of prediction values from each pixel that may also be obtained at a decoder. If prediction values do not match the true pixel values precisely, energy reduction fails and entropy coding may not noticeably reduce data rate. The current prediction models may not work well for image data with particular edge characteristics (e.g., ultrasound images or computed tomography (CT) slices that represent images of cutting planes through a human body where density of tissue has been mapped to gray level values).
On the other hand, with increasing resolution of medical imaging scanners (e.g., in CT acquisitions) as well as with upcoming teleradiologic diagnosis, more and more attention is paid to medical image compression techniques. Furthermore, physicians often demand lossless compression due to legal restrictions or when diagnostic decisions depend on the image data.
A simple solution to the prediction problem is linear prediction from neighborhoods. The pixels of an image are submitted subsequently in order to make a prediction based on already received pixels. The pixels may be traversed in line-scan order so that upper and left pixels may be used to form the predictor. A certain region of such pixels around the pixel to be predicted is defined as so called “neighborhood” or “context.” For linear prediction, a weight is assigned to each pixel-position of the context. Each pixel within the neighborhood is multiplied with its corresponding weight and the results are summed up to get the prediction. One example of linear prediction is differential pulse-code modulation (DPCM) where the pixel left of the current pixel gets the weight of one and is therefore directly taken as a prediction value. More complicated methods may optimize the weights for a specific image using least squares regression (e.g., with the Yule-Walker equation) and transmit the weights as side information. Recent approaches also seek to compute the weights from previously transmitted pixel values or even adapt the weights for each pixel individually in order to save the side information.
The JPEG-LS (Joint Picture Expert Group, Lossless) algorithm, which is a lossless/near-lossless compression standard for continuous-tone images, is based on the LOCO-I (LOw COmplexity LOssless COmpression for Images) algorithm. More recent approaches like a CALIC (Content-based, Adaptive, Lossless Image Codec) algorithm use non-linear predictions for better exploitation of transient signals. These algorithms may be rules to compute a prediction value by incorporating image structure like edges.
As an example, the median predictor used in LOCO-I works as follows. As a prediction, the LOCO-I algorithm takes the smaller value of the upper and the left pixel if both pixels are smaller than the upper left pixel, the larger value if both pixels are larger than the upper left pixel, and the sum of both pixels minus the upper left pixel otherwise. Another type of non-linear prediction includes image structures described by neighborhood templates and corresponding prediction values. The prediction values from all templates are weighted according to how well the templates fit the current observation and then summed up for the final prediction.
Both JPEG-LS and CALIC algorithms make use of context modeling after prediction in order to adapt to observed larger-scale image characteristics. At each pixel, features are extracted from its neighborhood, which are then used to classify the pixel to a certain context group. In JPEG-LS, these features are quantized image gradients from neighborhood positions. CALIC uses combined features including sign patterns of the neighborhood intensity values minus the current non-linear prediction. While decoding, for each context group, a value of the mean observed prediction error at pixels belonging to that context group is maintained. In this way, for each new pixel prediction, the prediction error may be corrected by the mean prediction error from previous pixels sharing the same context group.
In U.S. Pat. No. 5,631,979, a predictor is generated by weighted summation of the outcome of several calculation units using values of supported pixels.